Assertions for C++

نویسنده

  • Jonathan E. Cook
چکیده

In this report I describe types of program annotations that could be used in C++ to enhance the testability, assurance, and overall quality of the code being developed. These annotations are formal, processable assertions which capture constraints and speciications which cannot be discerned from the program code itself. I rst describe in some depth previous work in this area, and then try to apply this work to the C++ programming language.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Improving Software Testability with Assertion Insertion

Executable assertions can be inserted into a program to nd software faults. Unfortunately, the process of designing and embedding these assertions can be expensive and time consuming. We have developed the C-Patrol tool to reduce the overhead of using assertions in C programs. C-Patrol allows a developer to reference a set of previously de ned assertions, written in virtual C, bind assertion pa...

متن کامل

Assertions for the Tcl Language

Assertions, even as simple as the C assert macro, o er important self-checking properties to programs, and improve the robustness of software when they are used. This paper describes AsserTcl, an assertion package for the Tcl programming language. Our assertions take the form of commands in the program text, and cover point assertions about the computation state, assertions about procedure inpu...

متن کامل

A Static Analysis for Program Understanding and Debugging

This paper presents a static pointer analysis technique for a subset of C. The tool supports user-defined assertions inserted in the body of the program. Assertions are of two kinds: static assertions automatically verified by the analyser, and hypothetical assertions treated as assumptions by the analyser. The technique deals with recursive data structures and it is accurate enough to handle c...

متن کامل

Contracts: From Analysis to C++ Implementation

Standard C++ does not provide mechanisms for working with assertions in the spirit of design by contract (DBC) as proposed by Meyer. We earlier developed a set of techniques and tools facilitating the prototyping of object-oriented architectures based on the idea of design by contract. As it is crucial for us to support evolutionary prototyping, we need to provide mechanisms to automatically tr...

متن کامل

An Approach to Assertion-based Debugging of Higher-Order (C)LP Programs

Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...

متن کامل

An Approach to Higher-Order Assertion-based Debugging of Higher-Order (C)LP Programs

Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994